package jp.aist.gtrc.plus.scheduler.node;

import java.util.Collection;
import java.util.LinkedList;

import jp.aist.gtrc.plus.scheduler.specific.pbs.status.PBSJobStatus;
import jp.aist.gtrc.plus.scheduler.status.JobStatus;
import jp.aist.gtrc.plus.scheduler.status.NodeStatus;
import jp.aist.gtrc.plus.scheduler.util.Filter;


public class MatchedByOtherExecNodeAllocator extends ExecNodeAllocator {

	public MatchedByOtherExecNodeAllocator() {

		this(null);

	}

	public MatchedByOtherExecNodeAllocator(NodeSorter sorter) {
                super(sorter);
	}

        public Collection<NodeInfo> suitable(Collection<NodeInfo> nodes,
                        NodeAllocateRequest allocReq){


                PBSJobStatus job = (PBSJobStatus) allocReq.getTargetJob();
		addOneTimeChecker(new NodePropertiesChecker(job));
                return super.suitable(nodes,allocReq);

        }

}
